Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

343
Views
Ionic 2, uso de rupturas de tuberías de Angular 2 en iOS: "No se puede encontrar la variable: Intl"

Experimentar el mismo problema con las canalizaciones de fecha, porcentaje y moneda al usarlas en una plantilla:

Por ejemplo, estoy usando una tubería de porcentaje simple:

 {{ .0237| percent:'1.2-2' }}

Funciona cuando se ejecuta en Chrome, pero cuando lo implemento en un dispositivo iOS, arroja este error:

"EXCEPCIÓN: Error de referencia: no se puede encontrar la variable: Intl en [{{ {{ .0237| percent:'1.2-2' }} ..."

¿Alguien más se ha encontrado con este problema? ¡Cualquier sugerencia o ayuda sería muy apreciada! ¡Gracias!

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Esto se debe a que se basa en la API de internalización, que actualmente no está disponible en todos los navegadores (por ejemplo, no en el navegador de iOS).

Consulte la tabla de compatibilidad .

Este es un problema conocido (beta.1).

Puede intentar usar un polyfill para Intl .

Para hacerlo, puede usar la versión CDN y agregar esto a su index.html:

 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

O si usa Webpack, puede instalar el módulo Intl con NPM:

 npm install --save intl

Y agregue estas importaciones a su aplicación:

 import 'intl'; import 'intl/locale-data/jsonp/en';
over 4 years ago · Santiago Trujillo Report

0

Hay una solución rápida para esto. Agregar

 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>

a su archivo index.html antes de la entrada <script src="cordova.js"></script> .

Vea esta respuesta de github https://github.com/angular/angular/issues/3333#issuecomment-203327903

over 4 years ago · Santiago Trujillo Report

0

O otra solución sería escribir esas tuberías usted mismo. Para la fecha, por ejemplo, puede usar moment.js, o aquí hay un ejemplo para la tubería de moneda:

 import { Pipe, PipeTransform } from '@angular/core' @Pipe({ name: 'currency' }) export class CurrencyPipe implements PipeTransform { constructor() {} transform(value: string, currencyString: string ) { let stringOnlyDigits = value.replace(/[^\d.-]/g, ''); let convertedNumber = Number(stringOnlyDigits).toFixed(2); return convertedNumber + " " + currencyString; } }

Esta tubería está transformando la moneda. La tubería de porcentaje funcionaría casi de la misma manera. La expresión regular está filtrando todos los dígitos, incluido el punto para números flotantes.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!